using System;
using System.Collections.Generic;
using System.Configuration;
using System.Configuration.Provider;
using System.Data.EntityClient;
using System.Linq;
using System.Text;
using System.Web.Configuration;
using System.Web.DataAccess;
using System.Xml;
using System.Xml.Linq;

namespace OpenLightGroup.Common.ApplicationServices
{
    public abstract class HealthReportingProvider
    : ProviderBase
    {
        public abstract HealthReportingEntry GetEventDetails(string id);

        public abstract IEnumerable<HealthReportingEntryMetaData> GetEvents(int pageIndex, int pageSize);

        public abstract IEnumerable<HealthReportingEntryMetaData> GetExceptions(int pageIndex, int pageSize);

        public abstract IEnumerable<HealthReportingEntryMetaData> GetEventsByDate(DateTime startDate, DateTime endDate, int pageIndex, int pageSize);

        public abstract IEnumerable<HealthReportingEntryMetaData> GetEventsByType(string eventTypeName, int pageIndex, int pageSize);
    }
}